st_texture_cache_bind_weak_notify calls g_clear_signal_handler which
then calls st_texture_cache_free_bind. st_texture_cache_free_bind frees
the bind structure, so by the time g_clear_signal_handler tries to write
bind->notify_signal_id, bind has already been freed.
Fix this by using g_signal_handler_disconnect instead.
This partially reverts
135d178d08
Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/2334
{
StTextureCachePropertyBind *bind = data;
bind->weakref_active = FALSE;
- g_clear_signal_handler (&bind->notify_signal_id, bind->source);
+ g_signal_handler_disconnect (bind->source, bind->notify_signal_id);
}
static void